#pragma once
#include "DataStructure/Common/Id.h"
#include "DataStructure/Common/Real.h"
#include "DataStructure/Result/Optimization/OptimizationBase.h"

SG_DATASTRUCTURE_POST_NAMESPACE_OPEN

struct OBJECTIVEData : public OptimizationBase {
  SG::DataStructure::Common::Real m_EXACT = 0.0;  ///< Exact from analysis
  SG::DataStructure::Common::Real m_APPRX =
      0.0;  ///< Optimal w.r.t. appoximation
  SG::DataStructure::Common::Real m_MAXIM =
      0.0;  ///< Maximum values of constraints
  SG::DataStructure::Common::Id m_domainId = 0;  ///< Domain identifier
};

///< @brief 判断数据是否相等
DECLSPEC bool operator==(const OBJECTIVEData& val1, const OBJECTIVEData& val2);

SG_DATASTRUCTURE_POST_NAMESPACE_CLOSE
